package com.cke.yang.security.domain.entity;

import com.cke.yang.common.domain.model.ActionModel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

/**
 * <p>
 * 安全服务-用户表
 * </p>
 *
 * @author yang.yu
 * @since 2025-06-30
 */
@TableName("sec_user")
@Getter
@Setter
public class SecUser extends ActionModel<SecUser> {

    private static final long serialVersionUID = 1L;

	/**
	 * 主键id
	 */
	@TableId(type = IdType.AUTO, value = "user_id")
	private Long userId;

	/**
	 * 用户开放id
	 */
	@TableField(value="open_id")
	private String openId;

	/**
	 * 用户名
	 */
	private String username;

	/**
	 * 密码密文
	 */
	private String password;

	/**
	 * 昵称
	 */
	@TableField(value="nick_name")
	private String nickName;

	/**
	 * 姓
	 */
	@TableField(value="real_name")
	private String realName;

	/**
	 * 性别
	 */
	private String sex;

	/**
	 * 电子邮箱地址
	 */
	private String email;

	/**
	 * 手机号码
	 */
	private String phone;

	/**
	 * 头像地址
	 */
	private String avatar;

	/**
	 * 默认角色id
	 */
	@TableField(value = "default_role_id")
	private Long defaultRoleId;

	/**
	 * 是否启用
	 */
	@TableField(value="is_enabled")
	private Boolean isEnabled;

	/**
	 * 是否锁定
	 */
	@TableField(value="is_locked")
	private Integer isLocked;

	/**
	 * 密码连续错试次数
	 */
	@TableField(value="password_attempt")
	private Integer passwordAttempt;

	/**
	 * 最后登录时间
	 */
	@TableField(value="last_login_at")
	private Date lastLoginAt;

}
